(function () {
    /**
     * @name EOLINKER AMS OPEN SOURCE，EOLINKER AMS开源版本
     * @link https://www.eolinker.com
     * @package EOLINKER AMS
     * @author www.eolinker.com 广州银云信息科技有限公司 2015-2018

     * EOLINKER，业内领先的Api接口管理及测试平台，为您提供最专业便捷的在线接口管理、测试、维护以及各类性能测试方案，帮助您高效开发、安全协作。
     * 如在使用的过程中有任何问题，可通过[图片]http://help.eolinker.com寻求帮助
     *
     *注意！EOLINKER AMS 开源版本遵循 GPL V3开源协议，仅供用户下载试用，禁止“一切公开使用于商业用途”或者“以 EOLINKER AMS开源版本为基础而开发的二次版本”在互联网上流通。。
     * 注意！一经发现，我们将立刻启用法律程序进行维权。
     * 再次感谢您的使用，希望我们能够共同维护国内的互联网开源文明和正常商业秩序。
     *
     * @function [全局sidebar指令相关js] [Global sidebar instruction related js]
     * @version  3.1.5
     * @service  $scope [注入作用域服务] [inject scope service]
     * @service  $state [注入路由服务] [inject state service]
     * @service  NavbarService [注入NavbarService服务] [inject NavbarService service]
     * @service  $filter [注入过滤器服务] [inject filter service]
     */
    angular.module('eolinker')
        .component('eoSidebar', {
            template: '<sidebar-common-component  main-object="$ctrl.component.sidebarCommonObject.mainObject"></sidebar-common-component>',
            controller: sidebarController
        })

    sidebarController.$inject = ['$scope', '$state', '$filter'];

    function sidebarController($scope, $state, $filter) {

        var vm = this;
        vm.data = {
        }
        vm.component = {
            sidebarCommonObject: {}
        };
        var fun={},
        data={};
        fun.getOriginalSidebar = function () {
            vm.component.sidebarCommonObject = {
                mainObject: {
                    baseInfo: {
                        menu: [{
                            name: $filter('translate')('336'),
                            sref: 'home.project',
                            icon: 'icon-api',
                            childSref: 'home.project.default',
                            isShow: -1
                        }, {
                            name: $filter('translate')('337'),
                            sref: 'home.user',
                            icon: 'icon-yonghu',
                            childSref: 'home.user.basic',
                            isShow: -1
                        }, {
                            name: $filter('translate')('338'),
                            href: 'https://global.eolinker.com',
                            icon: 'icon-ONLINEkaifa',
                            isShow: -1,
                            divide: 1
                        }, {
                            name: $filter('translate')('339'),
                            href: 'http://help.eolinker.com',
                            icon: 'icon-bangzhu',
                            isShow: -1,
                        }]
                    }
                }
            }
        }
        vm.$onInit = function () {
            if (!/inside/.test(window.location.href.toLowerCase())) {
                fun.getOriginalSidebar()
            } else {
                data.isInside = true;
            }

            $scope.$on('$stateChangeSuccess', function () {
                if (!/inside/.test($state.current.name.toLowerCase())) {
                    if (data.isInside) {
                        data.isInside = false;
                        fun.getOriginalSidebar();
                    }
                } else {
                    data.isInside = true;
                }
            })
        }
    }

})();